package com.tanhua.dubbo.api.mongo;

import com.tanhua.model.mongo.Comment;
import com.tanhua.model.vo.PageResult;
import org.bson.types.ObjectId;

import java.util.List;
import java.util.Map;

public interface CommentApi {
    /**
     * 分页查询评论列表
     * @param movementId
     * @param page
     * @param pageSize
     * @return
     */
    PageResult<Comment> pageCommentList(String movementId, Long page, Long pageSize);

    /**
     * 添加点赞 评论 喜欢
     * @param comment
     */
    Integer publish(Comment comment);

    /**
     * 删除点赞 评论 喜欢
     * @param comment
     * @return
     */
    Integer remove(Comment comment);

    /**
     * 动态中用户是否点赞
     * @param visitorId
     * @param movementIds
     * @return
     */
    Map<ObjectId, Boolean> findLikeInMovements(Long visitorId, List<ObjectId> movementIds);

    /**
     * 动态中用户是否喜欢
     * @param visitorId
     * @param movementIds
     * @return
     */
    Map<ObjectId, Boolean> findLoveInMovements(Long visitorId, List<ObjectId> movementIds);

    /**
     * 查询点赞数量
     * @param id
     * @return
     */
    Integer findLikeCount(String id);

    /**
     * 查询评论数量
     * @param id
     * @return
     */
    Integer findCommentCount(String id);
}
